home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Libraries / C Headers / MacProto.h
Text File  |  1990-06-21  |  64KB  |  1,288 lines

  1.  
  2. /*
  3.  *  MacProto.h
  4.  *
  5.  *  Prototypes for Macintosh ROM Routines
  6.  *  by Darrell LeBlanc and Stew Rubenstein
  7.  *  Copyright (c) 1989, 1990 Symantec Corporation.
  8.  *
  9.  */
  10.  
  11.  /* These prototypes are intended to be used with version 4.0 of THINK C only. */
  12. /*       
  13.     This is a complete list of Prototypes for Inside Macintosh Vol. I - V.
  14.     
  15.     Note that prototypes for ROM routines are not required even if
  16.     "Prototypes Required" is turned on, but by including this header,
  17.     prototype checking will be enforced.
  18.     
  19.     The type TrapType has been changed to short. ProcPtr is #defined to be a void *,
  20.     except for GetCtlAction which *returns* a function pointer.
  21.     
  22.     SPECIAL NOTE: about  LLastClick and TEGetPoint functions...
  23.     In C, it is not possible to do data structure assignment when the ROMs return
  24.     a structure instead of a pointer to a structure (this is legal in Pascal). This means 
  25.     that special workarounds have to be used for LLastClick and TEGetPoint which 
  26.     both return structures.
  27.         
  28.     for LLastClick:
  29.     *(long *)&lastCell = LLastClick(lHandle);        * LLastClick is prototyped to return a long *
  30.         
  31.     for TEGetPoint:
  32.     *(long *)&myPoint = TEGetPoint(offset,hTE);    * TEGetPoint is prototyped to return a long *
  33.           
  34.     TWO COMMON ERROR MESSAGES...
  35.      1) illegal function prototype - probably missing header file to declare
  36.          data types for one or more parameters.
  37.      2) invalid redeclaration of ... - all declarations, definitions and prototypes 
  38.          must match including return types and parameter types.
  39.          
  40.      Please report any bugs to:
  41.      
  42.      Darrell LeBlanc
  43.      Symantec Corp.
  44.      135 South Rd.
  45.      Bedford, MA 01730
  46.      (CIS #72571,2332)
  47.      (AppleLink D6095)
  48.      
  49. changes made since first posting to CIS:
  50. 1)    pascal OSErr PPostEvent(short evtCode, long evtMsg, EvQEl *qEl);
  51.       changed to
  52.      pascal OSErr PPostEvent(short evtCode, long evtMsg, EvQElPtr *qEl);
  53.      
  54. 2)    pascal void SwapMMUMode(short *mode);
  55.       changed to
  56.     pascal void SwapMMUMode(char *mode);
  57.     
  58. 3)    pascal OSErr PtrToHand(void *srcPtr, Handle dstHandle, long size);
  59.       changed to
  60.     pascal OSErr PtrToHand(void *srcPtr, Handle *dstHandle, long size);
  61. */
  62.  
  63. #ifndef _MacProto_
  64. #define _MacProto_
  65.  
  66. #ifndef _MacTypes_
  67. #include <MacTypes.h>
  68. #endif    /*_MacTypes_*/
  69.  
  70. #define ProcPtr void*
  71.  
  72. #ifdef _DeskBus_    /* AppleDesktopBus [ADB] */
  73. pascal OSErr ADBOp(void * data, ProcPtr compRout, void * buffer, short commandNum);
  74. pascal void ADBReInit(void);                
  75. pascal short CountADBs(void);
  76. pascal OSErr GetADBInfo(ADBDataBlock *info, ADBAddress ADBAddr);
  77. pascal ADBAddress GetIndADB(ADBDataBlock *info, short devTableIndex);
  78. pascal OSErr SetADBInfo(ADBSetInfoBlock *info, ADBAddress ADBAddr);
  79. #endif    /*_DeskBus_*/
  80.  
  81. #ifdef _AppleTalk_    /* AppleTalk Manager [AT] */
  82. pascal OSErr AFPCommand(XPPParmBlkPtr xParamBlock, Boolean async);
  83. pascal OSErr ASPAbortOS(XPPParmBlkPtr xParamBlock, Boolean async);
  84. pascal OSErr ASPCloseAll(XPPParmBlkPtr xParamBlock, Boolean async);
  85. pascal OSErr ASPCloseSession(XPPParmBlkPtr xParamBlock, Boolean async);
  86. pascal OSErr ASPGetParms(XPPParmBlkPtr xParamBlock, Boolean async);
  87. pascal OSErr ASPGetStatus(XPPParmBlkPtr xParamBlock, Boolean async);
  88. pascal OSErr ASPOpenSession(XPPParmBlkPtr xParamBlock, Boolean async);
  89. pascal OSErr ASPUserCommand(XPPParmBlkPtr xParamBlock, Boolean async);
  90. pascal OSErr ASPUserWrite(XPPParmBlkPtr xParamBlock, Boolean async);
  91. pascal OSErr ATPAddRsp(ABRecHandle abRecord);
  92. pascal OSErr ATPCloseSocket(short atpSocket);
  93. pascal OSErr ATPGetRequest(ABRecHandle abRecord, Boolean async);
  94. pascal OSErr ATPLoad(void);
  95. pascal OSErr ATPOpenSocket(AddrBlock addrRcvd, short *atpSocket);
  96. pascal OSErr ATPReqCancel(ABRecHandle abRecord, Boolean async);
  97. pascal OSErr ATPRequest(ABRecHandle abRecord, Boolean async);
  98. pascal OSErr ATPResponse(ABRecHandle abRecord, Boolean async);
  99. pascal OSErr ATPRspCancel(ABRecHandle abRecord, Boolean async);
  100. pascal OSErr ATPSndRequest(ABRecHandle abRecord, Boolean async);
  101. pascal OSErr ATPSndRsp(ABRecHandle abRecord, Boolean async);
  102. pascal OSErr ATPUnload(void);
  103. pascal short BuildBDS(void * buffPtr, void * bdsPtr, short buffSize);
  104. pascal void  BuildDDPwds(void * wdsPtr, void * headerPtr, void * dataPtr, AddrBlock destAddress, short DDPType, short dataLen);
  105. pascal void  BuildLAPwds(void * wdsPtr, void * dataPtr, short destHost, short protoType, short frameLen);
  106. pascal OSErr DDPCloseSocket(short theSocket);
  107. pascal OSErr DDPOpenSocket(short *theSocket, void * sktListener);
  108. pascal OSErr DDPRdCancel(ABRecHandle abRecord);
  109. pascal OSErr DDPRead(ABRecHandle abRecord, Boolean retCksumErrs, Boolean async);
  110. pascal OSErr DDPWrite(ABRecHandle abRecord, Boolean doChecksum, Boolean async);
  111. pascal short   GetBridgeAddress(void);
  112. pascal OSErr GetNodeAddress(short *myNode, short *myNet);
  113. pascal Boolean IsATPOpen(void);
  114. pascal Boolean IsMPPOpen(void);
  115. pascal OSErr LAPCloseProtocol(ABByte *theLAPType);
  116. pascal OSErr LAPOpenProtocol(ABByte *theLAPType, void * protoPtr);
  117. pascal OSErr LAPRdCancel(ABRecHandle abRecord);
  118. pascal OSErr LAPRead(ABRecHandle abRecord, Boolean async);
  119. pascal OSErr LAPWrite(ABRecHandle abRecord, Boolean async);
  120. pascal OSErr MPPClose(void);
  121. pascal OSErr MPPOpen(void);
  122. pascal OSErr NBPConfirm(ABRecHandle abRecord, Boolean async);
  123. pascal OSErr NBPExtract(void * theBuffer, short numInBuf, short whichOne, EntityName *abEntity, AddrBlock *address);
  124. pascal OSErr NBPExtract(void * theBuffer, short numInBuf, short WhichOne, EntityName *abEntity, AddrBlock *address);
  125. pascal OSErr NBPLoad(void);
  126. pascal OSErr NBPLookup(ABRecHandle abRecord, Boolean async);
  127. pascal OSErr NBPRegister(ABRecHandle abRecord, Boolean async);
  128. pascal OSErr NBPRemove(EntityPtr abEntity);
  129. pascal void  NBPSetEntity(void * buffer, Str32 nbpObject, nbpType Str32, Str32 nbpZone);
  130. pascal void  NBPSetNTE(void * ntePtr, Str32 nbpObject, Str32 nbpType, Str32 nbpZone, short Socket);
  131. pascal OSErr NBPUnload(void);
  132. pascal OSErr PAddResponse(MPPPBPtr thePBptr, Boolean async);
  133. pascal OSErr PAttachPH(MPPPBPtr thePBptr, Boolean async);
  134. pascal OSErr PCloseATPSkt(MPPPBPtr thePBptr, Boolean async);
  135. pascal OSErr PCloseSkt(MPPPBPtr thePBptr, Boolean async);
  136. pascal OSErr PConfirmName(MPPPBPtr thePBptr, Boolean async);
  137. pascal OSErr PDetachPH(MPPPBPtr thePBptr, Boolean async);
  138. pascal OSErr PGetRequest(MPPPBPtr thePBptr, Boolean async);
  139. pascal OSErr PKillGetReq(ATPPBPtr thePBptr, Boolean async);
  140. pascal OSErr PKillGetReq(MPPPBPtr thePBptr, Boolean async);
  141. pascal OSErr PKillNBP(ATPPBPtr thePBptr, Boolean async);
  142. pascal OSErr PKillNBP(MPPPBPtr thePBptr, Boolean async);
  143. pascal OSErr PKillSendReq(ATPPBPtr thePBptr, Boolean async);
  144. pascal OSErr PKillSendReq(MPPPBPtr thePBptr, Boolean async);
  145. pascal OSErr PLookupName(MPPPBPtr thePBptr, Boolean async);
  146. pascal OSErr PNSendRequest(ATPBPtr thePBptr, Boolean async);
  147. pascal OSErr PNSendRequest(MPPPBPtr thePBptr, Boolean async);
  148. pascal OSErr POpenATPSkt(MPPPBPtr thePBptr, Boolean async);
  149. pascal OSErr POpenSkt(MPPPBPtr thePBptr, Boolean async);
  150. pascal OSErr PRegisterName(MPPPBPtr thePBptr, Boolean async);
  151. pascal OSErr PRelTCB(MPPPBPtr thePBptr, Boolean async);
  152. pascal OSErr PRemoveName(MPPPBPtr thePBptr, Boolean async);
  153. pascal OSErr PSendRequest(MPPPBPtr thePBptr, Boolean async);
  154. pascal OSErr PSendResponse(MPPPBPtr thePBptr, Boolean async);
  155. pascal OSErr PSetSelfSend(MPPPBPtr thePBptr, Boolean async);
  156. pascal OSErr PSetSelfSend(MPPPBPtr thePBptr, Boolean async);
  157. pascal OSErr PWriteDDP(MPPPBPtr thePBptr, Boolean async);
  158. pascal OSErr PWriteLAP(MPPPBPtr thePBptr, Boolean async);
  159. #endif    /*_AppleTalk_*/
  160.     
  161. #ifdef _Color_    /* Color Manager [CM] */
  162. pascal void AddComp(ProcPtr compProc);
  163. pascal void AddSearch(ProcPtr searchProc);
  164. pascal long Color2Index(RGBColor *rgb);
  165. pascal void DelComp(ProcPtr compProc);
  166. pascal void DelSearch(ProcPtr searchProc);
  167. pascal long GetCTSeed(void);
  168. pascal void GetSubTable(CTabHandle myColors, short iTabRes, CTabHandle targetTbl);
  169. pascal void Index2Color(long index, RGBColor *rgb);
  170. pascal void InvertColor(RGBColor *theColor);
  171. pascal void MakeITable(CTabHandle colorTab, ITabHandle inverseTab, short res);
  172. pascal void ProtectEntry(short index, Boolean protect);
  173. pascal short QDError(void);
  174. pascal Boolean RealColor(RGBColor *color);
  175. pascal void ReserveEntry(short index, Boolean reserve);
  176. pascal void RestoreEntries(CTabHandle srcTable, CTabHandle dstTable, ReqListRec *selection);
  177. pascal void SaveEntries(CTabHandle srcTable, CTabHandle resultTable, ReqListRec *selection);
  178. pascal void SetClientID(short id);
  179. pascal void SetEntries(short start, short count, CSpecArray aTable);
  180. #endif    /*_Color_*/
  181.  
  182. #ifdef _Color_      /* Color Picker Package */
  183. pascal void CMY2RGB(CMYColor *cColor, RGBColor *rColor);
  184. pascal SmallFract Fix2SmallFract(Fixed f);
  185. pascal Boolean GetColor(Point where, void *prompt, RGBColor *inColor, RGBColor *outColor);
  186. pascal void HSL2RGB(HSLColor *hColor, HSLColor *rColor);
  187. pascal void HSV2RGB(HSVColor *hColor, RGBColor *rColor);
  188. pascal void RGB2CMY(RGBColor *rColor, CMYColor *cColor);
  189. pascal void RGB2HSL(RGBColor *rColor, HSLColor *hColor);
  190. pascal void RGB2HSV(RGBColor *rColor, HSVColor *hColor);
  191. pascal Fixed SmallFract2Fix(SmallFract s);
  192. #endif    /*_Color_*/
  193.  
  194. #ifdef _Color_  /* ColorQuickDraw IMV */
  195. pascal void AllocCursor(void);
  196. pascal void BackPixPat(PixPatHandle ppat);
  197. pascal void CalcCMask(BitMap *srcBits, BitMap *dstBits, Rect *srcRect, Rect *dstRect, RGBColor *seedRGB, ProcPtr matchProc, long matchData);
  198. pascal void CharExtra(Fixed extra);
  199. pascal void CloseCPort(CGrafPtr port);
  200. pascal void CopyPixMap(PixMapHandle srcPM, PixMapHandle DstPM);
  201. pascal void CopyPixPat(PixPatHandle srcPP, PixPatHandle dstPP);
  202. pascal void DisposCCursor(CCrsrHandle CCsr);
  203. pascal void DisposCIcon(CIconHandle theIcon);
  204. pascal void DisposCTable(CTabHandle ctTab);
  205. pascal void DisposPixMap(PixMapHandle pm);
  206. pascal void DisposPixPat(PixPatHandle ppat);
  207. pascal void FillCArc(Rect *r, short startAngle, short arcAngle, PixPatHandle ppat);
  208. pascal void FillCOval(Rect *r, PixPatHandle ppat);
  209. pascal void FillCPoly(PolyHandle poly, PixPatHandle ppat);
  210. pascal void FillCRect(Rect *r, PixPatHandle ppat);
  211. pascal void FillCRgn(RgnHandle rgn, PixPatHandle ppat);
  212. pascal void FillCRoundRect(Rect *r, short ovWd, short ovHt, PixPatHandle ppat);
  213. pascal void GetBackColor(RGBColor *color);
  214. pascal CCrsrHandle GetCCursor(short crsrID);
  215. pascal CIconHandle GetCIcon(short id);
  216. pascal void GetCPixel(short h, short v, RGBColor *cPix);
  217. pascal CTabHandle GetCTable(short ctID);
  218. pascal void GetForeColor(RGBColor *color);
  219. pascal PixPatHandle GetPixPat(short patID);
  220. pascal void HiliteColor(RGBColor *color);
  221. pascal void InitCPort(CGrafPtr port);
  222. pascal void MakeRGBPat(PixPatHandle ppat, RGBColor *myColor);
  223. pascal PixMapHandle NewPixMap(void);
  224. pascal PixPatHandle NewPixPat(void);
  225. pascal void OpColor(RGBColor *color);
  226. pascal void OpenCPort(CGrafPtr port);
  227. pascal PicHandle OpenPicture(Rect *picFrame);
  228. pascal void PenPixPat(PixPatHandle ppat);
  229. pascal void PlotCIcon(Rect *theRect, CIconHandle theIcon);
  230. pascal void RGBBackColor(RGBColor *color);
  231. pascal void RGBForeColor(RGBColor *color);
  232. pascal void SeedCFill(BitMap *srcBits, BitMap *DstBits, Rect *SrcRect, Rect *DstRect, short seedH, short seedV, ProcPtr matchProc, long matchData);
  233. pascal void SetCCursor(CCrsrHandle CCrsr);
  234. pascal void SetCPixel(short h, short v, RGBColor *cPix);
  235. pascal void SetCPortPix(PixMapHandle pm);
  236. pascal void SetStdCProcs(CQDProcs *cProcs);
  237. #endif    /*_Color_*/
  238.  
  239. /* Control Manager [CM] */
  240. #ifdef _ControlMgr_
  241. #ifndef _ColorToolbox_
  242. #include <ColorToolbox.h>
  243. #endif
  244. pascal void DisposeControl(ControlHandle theControl);
  245. pascal void DragControl(ControlHandle theControl, Point start, Rect *limit, Rect *slop, short axis);
  246. pascal void Draw1Control(ControlHandle theControl);
  247. pascal void DrawControls(WindowPtr theWindow);
  248. pascal short FindControl(Point where, WindowPtr theWindow, ControlHandle *ch);
  249. pascal Boolean GetAuxCtl(ControlHandle theControl, CCTabHandle *acHndl);            
  250. pascal long GetCRefCon(ControlHandle theControl);
  251. pascal void GetCTitle(ControlHandle theControl, void *title);
  252. pascal short GetCVariant(ControlHandle theControl);
  253. #undef ProcPtr
  254. pascal ProcPtr GetCtlAction(ControlHandle theControl);
  255. #define ProcPtr void*
  256. pascal short GetCtlMax(ControlHandle theControl);
  257. pascal short GetCtlMin(ControlHandle theControl);
  258. pascal short GetCtlValue(ControlHandle theControl);
  259. pascal ControlHandle GetNewControl(short controlID, WindowPtr theWindow);
  260. pascal void HideControl(ControlHandle theControl);
  261. pascal void HiliteControl(ControlHandle theControl, short hiliteState);
  262. pascal void KillControls(WindowPtr theWindow);
  263. pascal void MoveControl(ControlHandle theControl, short h, short v);
  264. pascal ControlHandle NewControl(WindowPtr curWindow, Rect *bounds, void *title, Boolean visible, short value, short min, short max, short procID, long refCon);
  265. pascal void SetCRefCon(ControlHandle theControl, long data);
  266. pascal void SetCTitle(ControlHandle theControl, void *title);
  267. pascal void SetCtlAction(ControlHandle theControl, ProcPtr actionProc);
  268. pascal void SetCtlColor(ControlHandle theControl, CCTabHandle newColorTable);
  269. pascal void SetCtlMax(ControlHandle theControl, short maxValue);
  270. pascal void SetCtlMin(ControlHandle theControl, short minValue);
  271. pascal void SetCtlValue(ControlHandle theControl, short maxValue);
  272. pascal void ShowControl(ControlHandle theControl);
  273. pascal void SizeControl(ControlHandle theControl, short w, short h);
  274. pascal short TestControl(ControlHandle theControl, Point thePoint);
  275. pascal short TrackControl(ControlHandle theControl, Point start, ProcPtr actionProc);
  276. pascal void UpdtControl(WindowPtr theWindow, RgnHandle theRgn);    
  277. #endif    /*_ControlMgr_*/
  278.  
  279. #ifdef _DeskMgr_    /* Desk Manager [DS] */    
  280. pascal void CloseDeskAcc(short refnum);
  281. pascal short OpenDeskAcc(void *theAcc);
  282. pascal void SystemClick(EventRecord *theEvent, WindowPtr theWindow);
  283. pascal Boolean SystemEdit(short editCmd);
  284. pascal Boolean SystemEvent(EventRecord *theEvent);
  285. pascal void SystemMenu(long menuResult);
  286. pascal void SystemTask(void);
  287. #endif    /*_DeskMgr_*/
  288.  
  289. #ifdef _DeviceMgr_    /* Device Manager [DM] also contains Control Panel calls*/
  290. #ifndef _SlotMgr_
  291. #include <SlotMgr.h>
  292. #endif
  293. pascal long cdev(short message, short Item, short numItems, short CPanelID, EventRecord *theEvent,long cdevValue, DialogPtr CPDialog);
  294. pascal OSErr Device(short message, short caller, void *objName, void *zoneName, long p1, long p2);
  295. pascal OSErr OpenSlot(ParmBlkPtr paramBlock, Boolean async);
  296. pascal Boolean SetChooserAlert(Boolean f);
  297. pascal OSErr SIntInstall(SQElemPtr sIntQElemPtr, short theSlot);
  298. pascal OSErr SIntRemove(SQElemPtr sIntQElemPtr, short theSlot);
  299. #endif    /*_DeviceMgr_*/
  300.  
  301. #ifdef _DialogMgr_    /* Dialog Manager [DL] */
  302. pascal short Alert(short alertID, ProcPtr filterProc);
  303. pascal short CautionAlert(short alertID, ProcPtr filterProc);
  304. pascal void CloseDialog(DialogPtr theDialog);
  305. pascal void CouldAlert(short alertID);
  306. pascal void CouldDialog(short dialogID);
  307. pascal Boolean DialogSelect(EventRecord *theEvent, DialogPtr *theDialog, short *itemHit);
  308. pascal void DisposDialog(DialogPtr theDialog);
  309. pascal void DlgCopy(DialogPtr theDialog);
  310. pascal void DlgCut(DialogPtr theDialog);
  311. pascal void DlgDelete(DialogPtr theDialog);
  312. pascal void DlgPaste(DialogPtr theDialog);
  313. pascal void DrawDialog(DialogPtr theDialog);
  314. pascal void ErrorSound(ProcPtr soundProc);
  315. pascal short FindDItem(DialogPtr theDialog, Point pt);
  316. pascal void FreeAlert(short alertID);
  317. pascal void FreeDialog(short dialogID);
  318. pascal short GetAlrtStage(void);
  319. pascal void GetDItem(DialogPtr theDialog, short itemNo, short *itemType, Handle *item, Rect *box);
  320. pascal void GetIText(Handle item, void *text);
  321. pascal DialogPtr GetNewDialog(short dlogID, DialogPeek dStorage, WindowPtr behind);
  322. pascal void HideDItem(DialogPtr theDialog, short itemNo);
  323. pascal void InitDialogs(ProcPtr resumeProc);
  324. pascal Boolean IsDialogEvent(EventRecord *theEvent);
  325. pascal void ModalDialog(ProcPtr filterProc, short *itemHit);
  326. pascal WindowPtr NewCDialog(void * dStorage, Rect *boundsRect, void *title, Boolean visible, short procID, WindowPtr behind,Boolean goAwayFlag,long refCon, Handle items);
  327. pascal DialogPtr NewDialog(DialogPeek dStorage, Rect *bounds, void *title, Boolean visible, short procID, WindowPtr behind, Boolean goAway, long refCon, Handle items);
  328. pascal short NoteAlert(short alertID, ProcPtr filterProc);
  329. pascal void ParamText(void *pm0, void * pm1, void *pm2,void *pm3);
  330. pascal void ResetAlrtStage(void);
  331. pascal void SelIText(DialogPtr theDialog, short itemNo, short strtSel, short endSel);
  332. pascal void SetDAFont(short fontNum);
  333. pascal void SetDItem(DialogPtr theDialog, short itemNo, short itemType, Handle item, Rect *box);
  334. pascal void SetIText(Handle item, void *text);
  335. pascal void ShowDItem(DialogPtr theDialog, short itemNo);
  336. pascal short StopAlert(short alertID, ProcPtr filterProc);
  337. pascal void UpdtDialog(DialogPtr theDialog, RgnHandle updateRgn);
  338. #endif    /*_DialogMgr_*/
  339.  
  340. #ifdef _DiskDvr_    /* Disk Driver [DD] */
  341. pascal OSErr DiskEject(short drvNum);
  342. pascal OSErr DriveStatus(short drvNum, DrvSts *stat); 
  343. pascal OSErr SetTagBuffer(void * buffPtr);
  344. #endif    /*_DiskDvr_*/
  345.  
  346. #ifdef _EventMgr_    /* Event Manager/OS [OE] */
  347. pascal Boolean Button(void);
  348. pascal Boolean EventAvail(short evtMask, EventRecord *Evt);
  349. pascal void FlushEvents(short evtMask, short stopMask);
  350. pascal long GetCaretTime(void);
  351. pascal long GetDblTime(void);
  352. pascal QHdrPtr GetEvQHdr(void);
  353. pascal void GetKeys(KeyMap *theKeys);
  354. pascal void GetMouse(Point *mouseLoc);
  355. pascal Boolean GetNextEvent(short evtMask, EventRecord *Evt);
  356. pascal Boolean GetOSEvent(short evtMask, EventRecord *Evt);
  357. pascal long KeyTrans(void * transData, short keycode, long *state);
  358. pascal Boolean OSEventAvail(short evtMask, EventRecord *Evt);
  359. pascal OSErr PPostEvent(short evtCode, long evtMsg, EvQElPtr *qEl);
  360. pascal OSErr PostEvent(short evtCode, long evtMsg);
  361. pascal void SetEventMask(short theMask);
  362. pascal Boolean StillDown(void);
  363. pascal long TickCount(void);
  364. pascal Boolean WaitMouseUp(void);
  365. #endif    /*_EventMgr_*/
  366.  
  367. #ifdef _FileMgr_    /* File/Device Manager [FL/DV] */
  368. pascal void  AddDrive(short drvrRefNum, short drvNum, short *refNum);
  369. pascal OSErr Allocate(short refnum, long *count);
  370. pascal OSErr AllocContig(short refNum, long *count);
  371. pascal OSErr CatMove(short vRefNum, long dirID, void *oldName, long newDirID, void *newName);
  372. pascal OSErr CloseDriver(short refNum);
  373. pascal OSErr CloseWD(short wdRefNum);
  374. pascal OSErr Control(short refNum, short csCode, void * csParamPtr);
  375. pascal OSErr Create(void *fileName, short vRef, OSType creator, OSType fileType);
  376. pascal OSErr DirCreate(short vRefNum,long parentDirID, void *dirName, long *createdID);
  377. pascal OSErr Eject(void *volName, short vRef);
  378. pascal void FInitQueue(void);
  379. pascal OSErr FSClose(short ref);
  380. pascal OSErr FSDelete(void *fileName, short vRef);
  381. pascal OSErr FSOpen(void *fileName, short vRef, short *ref);
  382. pascal OSErr FSRead(short refnum, long *count, void * buffPtr);
  383. pascal OSErr FSWrite(short refnum, long *count, void * buffPtr);
  384. pascal OSErr FlushVol(void *volName, short vRef);
  385. pascal DCtlHandle GetDCtlEntry(short refNum);
  386. pascal QHdrPtr GetDrvQHdr(void);
  387. pascal OSErr GetEOF(short refnum, long *logEOF);
  388. pascal OSErr GetFInfo(void *fileName, short vRef, FInfo *fndInfo);
  389. pascal OSErr GetFPos(short refnum, long *filePos);
  390. pascal QHdrPtr GetFSQHdr(void);
  391. pascal QHdrPtr GetVCBQHdr(void);
  392. pascal OSErr GetVInfo(short drvNum, void *volName, short *vRef, long *freeBytes);
  393. pascal OSErr GetVRefNum(short pathRef, short *vRef);
  394. pascal OSErr GetVol(void *volName, short *vRef);
  395. pascal OSErr GetWDInfo(short wdRefNum, short *vRefNum, long *dirID, long *procID);
  396. pascal OSErr HCreate(short vRefNum,long dirID,void *fileName, OSType creator, OSType fileType);
  397. pascal OSErr HDelete(short vRefNum, long dirID, void *fileName);
  398. pascal OSErr HOpen(short vRefNum, long dirID, void *fileName, SignedByte permission, short *refNum);
  399. pascal OSErr HOpenRF(short vRefNum, long dirID, void *fileName, SignedByte permission, short *refNum);
  400. pascal OSErr HGetVol(void *volName, short *vRefNum, long *dirID);
  401. pascal OSErr HGetFInfo(short vRefNum, long dirID, void *fileName, FInfo *fndrInfo);
  402. pascal OSErr HRename(short vRefNum, long dirID, void *oldName, void *newName);
  403. pascal OSErr HRstFLock(short vRefNum, long dirID, void *fileName);
  404. pascal OSErr HSetFInfo(short vRefNum, long dirID, void *fileName, FInfo *fndrInfo);
  405. pascal OSErr HSetFLock(short vRefNum, long dirID, void *fileName);
  406. pascal OSErr HSetVol(void *volName, short vRefNum, long dirID);
  407. pascal OSErr KillIO(short refNum);
  408. pascal OSErr OpenDriver(void *name, short *refNum);
  409. pascal OSErr OpenRF(void *fileName, short vRef, short *ref);
  410. pascal OSErr OpenWD(short vRefNum,long dirID, long procID, short *wdRefNum);
  411. pascal OSErr PBAllocContig(ParmBlkPtr parmBlk, Boolean async);
  412. pascal OSErr PBAllocate(ParmBlkPtr parmBlk, Boolean async);
  413. pascal OSErr PBCatMove(CMovePBPtr parmBlk, Boolean async);
  414. pascal OSErr PBClose(ParmBlkPtr parmBlk, Boolean async);
  415. pascal OSErr PBCloseWD(WDPBPtr parmBlk, Boolean async);
  416. pascal OSErr PBControl( ParmBlkPtr parmBlk, Boolean async);
  417. pascal OSErr PBCreate(ParmBlkPtr parmBlk, Boolean async);
  418. pascal OSErr PBDelete(ParmBlkPtr parmBlk, Boolean async);
  419. pascal OSErr PBDirCreate(HParmBlkPtr parmBlk, Boolean async);
  420. pascal OSErr PBEject(ParmBlkPtr parmBlk);
  421. pascal OSErr PBFlushFile(ParmBlkPtr parmBlk, Boolean async);
  422. pascal OSErr PBFlushVol(ParmBlkPtr parmBlk, Boolean async);
  423. pascal OSErr PBGetCatInfo(CInfoPBPtr paramBlock, Boolean async); 
  424. pascal OSErr PBGetEOF(ParmBlkPtr parmBlk, Boolean async);
  425. pascal OSErr PBGetFCBInfo(FCBPBPtr parmBlk, Boolean async);
  426. pascal OSErr PBGetFInfo(ParmBlkPtr parmBlk, Boolean async);
  427. pascal OSErr PBGetFPos(ParmBlkPtr parmBlk, Boolean async);
  428. pascal OSErr PBGetVInfo(ParmBlkPtr parmBlk, Boolean async);
  429. pascal OSErr PBGetVol(ParmBlkPtr parmBlk, Boolean async);
  430. pascal OSErr PBGetWDInfo(WDPBPtr parmBlk, Boolean async);
  431. pascal OSErr PBHCopyFile(HParmBlkPtr paramBlock, Boolean async);
  432. pascal OSErr PBHCreate(HParmBlkPtr parmBlk, Boolean async);
  433. pascal OSErr PBHDelete(HParmBlkPtr parmBlk, Boolean async);
  434. pascal OSErr PBHGetDirAccess(HParmBlkPtr paramBlock, Boolean async);
  435. pascal OSErr PBHGetFInfo(HParmBlkPtr parmBlk, Boolean async);
  436. pascal OSErr PBHGetLogInInfo(HParmBlkPtr paramBlock, Boolean async);
  437. pascal OSErr PBHGetVInfo(HParmBlkPtr parmBlk, Boolean async);
  438. pascal OSErr PBHGetVol(WDPBPtr parmBlk, Boolean async);
  439. pascal OSErr PBHGetVolParms(HParmBlkPtr paramBlock, Boolean async);
  440. pascal OSErr PBHMapID(HParmBlkPtr paramBlock, Boolean async);
  441. pascal OSErr PBHMapName(HParmBlkPtr paramBlock, Boolean async);
  442. pascal OSErr PBHMoveRename(HParmBlkPtr paramBlock, Boolean async);
  443. pascal OSErr PBHOpen(HParmBlkPtr parmBlk, Boolean async);
  444. pascal OSErr PBHOpenDeny(HParmBlkPtr paramBlock, Boolean async);
  445. pascal OSErr PBHOpenRF(HParmBlkPtr parmBlk, Boolean async);
  446. pascal OSErr PBHOpenRFDeny(HParmBlkPtr paramBlock, Boolean async);
  447. pascal OSErr PBHRename(HParmBlkPtr parmBlk, Boolean async);
  448. pascal OSErr PBHRstFLock(HParmBlkPtr parmBlk, Boolean async);
  449. pascal OSErr PBHSetDirAccess(HParmBlkPtr paramBlock, Boolean async);
  450. pascal OSErr PBHSetFInfo(HParmBlkPtr parmBlk, Boolean async);
  451. pascal OSErr PBHSetFLock(HParmBlkPtr parmBlk, Boolean async);
  452. pascal OSErr PBHSetVol(WDPBPtr parmBlk, Boolean async);
  453. pascal OSErr PBKillIO(ParmBlkPtr parmBlk, Boolean async);
  454. pascal OSErr PBLockRange(ParmBlkPtr parmBlk, Boolean async);
  455. pascal OSErr PBMountVol(ParmBlkPtr parmBlk);
  456. pascal OSErr PBOffLine(ParmBlkPtr parmBlk);
  457. pascal OSErr PBOpen(ParmBlkPtr parmBlk, Boolean async);
  458. pascal OSErr PBOpenRF(ParmBlkPtr parmBlk, Boolean async);
  459. pascal OSErr PBOpenWD(WDPBPtr parmBlk, Boolean async);
  460. pascal OSErr PBRead(ParmBlkPtr parmBlk, Boolean async);
  461. pascal OSErr PBRename(ParmBlkPtr parmBlk, Boolean async);
  462. pascal OSErr PBRstFLock(ParmBlkPtr parmBlk, Boolean async);
  463. pascal OSErr PBSetCatInfo(CInfoPBPtr parmBlk, Boolean async);
  464. pascal OSErr PBSetEOF(ParmBlkPtr parmBlk, Boolean async);
  465. pascal OSErr PBSetFInfo(ParmBlkPtr parmBlk, Boolean async);
  466. pascal OSErr PBSetFLock(ParmBlkPtr parmBlk, Boolean async);
  467. pascal OSErr PBSetFPos(ParmBlkPtr parmBlk, Boolean async);
  468. pascal OSErr PBSetFVers(ParmBlkPtr parmBlk, Boolean async);
  469. pascal OSErr PBSetVInfo(HParmBlkPtr paramblock, Boolean async);
  470. pascal OSErr PBSetVol(ParmBlkPtr parmBlk, Boolean async);
  471. pascal OSErr PBStatus(ParmBlkPtr parmBlk, Boolean async);
  472. pascal OSErr PBUnmountVol(ParmBlkPtr parmBlk);
  473. pascal OSErr PBUnlockRange(ParmBlkPtr parmBlk, Boolean async);
  474. pascal OSErr PBWrite(ParmBlkPtr parmBlk, Boolean async);
  475. pascal OSErr Rename(void *oldName, short vRef, void *newName);
  476. pascal OSErr RstFLock(void *fileName, short vRef);
  477. pascal OSErr SetEOF(short refnum, long logEOF);
  478. pascal OSErr SetFInfo(void *fileName, short vRef, FInfo *fndInfo);
  479. pascal OSErr SetFLock(void *fileName, short vRef);
  480. pascal OSErr SetFPos(short refnum, short posMode, long posOff);
  481. pascal OSErr SetVol(void *volName, short vRef);
  482. pascal OSErr Status(short refNum, short csCode, void * csParamPtr);
  483. pascal OSErr UnmountVol(void *volName, short vRef);
  484. #endif    /*_FileMgr_*/
  485.  
  486. #ifdef _FontMgr_    /* Font Manager [FM] */
  487. pascal FMOutPtr FMSwapFont(FMInput *inRec);
  488. pascal void FontMetrics(FMetricRec *theMetrics);
  489. pascal void GetFNum(void *fontName, short *theNum);
  490. pascal void GetFontName(short fontNum, void *theName);
  491. pascal void InitFonts(void);
  492. pascal Boolean RealFont(short fontNum, short size);
  493. pascal void SetFScaleDisable(Boolean fontScaleDisable);
  494. pascal void SetFontLock(Boolean lockFlag);
  495. pascal void SetFractEnable(Boolean fractEnable);
  496. #endif    /*_FontMgr_*/
  497.  
  498. #ifdef _Color_ /* Graphics Devices [GD] */
  499. pascal void DisposGDevice(GDHandle gdh);
  500. pascal GDHandle GetDeviceList(void);
  501. pascal GDHandle GetGDevice(void);
  502. pascal GDHandle GetMainDevice(void);
  503. pascal GDHandle GetMaxDevice(Rect *globalRect);
  504. pascal GDHandle GetNextDevice(GDHandle curDevice);
  505. pascal void InitGDevice(short gdRefNum, long mode, GDHandle gdh);
  506. pascal GDHandle NewGDevice(short refNum, long mode);
  507. pascal void SetDeviceAttribute(GDHandle gdh, short attribute, Boolean value);
  508. pascal void SetGDevice(GDHandle gdh);
  509. pascal Boolean TestDeviceAttribute(GDHandle gdh, short attribute);
  510. #endif    /*_Color_*/
  511.  
  512. /* THINK C built in functions */
  513. pascal void Debugger(void);
  514. pascal void DebugStr(void *pascalstringliteral);
  515.  
  516. #ifdef _ListMgr_    /* List Manager [LM] */
  517. pascal void LActivate(Boolean act, ListHandle lHandle);
  518. pascal short LAddColumn(short count, short colNum, ListHandle lHandle);
  519. pascal short LAddRow(short count, short rowNum, ListHandle lHandle);
  520. pascal void LAddToCell(void * data, short dataLen, Cell theCell, ListHandle lHandle);
  521. pascal void LAutoScroll(ListHandle lHandle);
  522. pascal void LCellSize(Point cSize, ListHandle lHandle);
  523. pascal Boolean LClick(Point pt, short modifiers, ListHandle lHandle);
  524. pascal void LClrCell(Cell theCell, ListHandle lHandle);
  525. pascal void LDelColumn(short count, short colNum, ListHandle lHandle);
  526. pascal void LDelRow(short count, short rowNum, ListHandle lHandle);
  527. pascal void LDispose(ListHandle lHandle);
  528. pascal void LDoDraw(Boolean drawIt, ListHandle lHandle);
  529. pascal void LDraw(Cell theCell, ListHandle lHandle);
  530. pascal void LFind(short *offset, short *len, Cell theCell, ListHandle lHandle);
  531. pascal void LGetCell(void * data, short *dataLen, Cell theCell, ListHandle lHandle);
  532. pascal Boolean LGetSelect(Boolean next, Cell *theCell, ListHandle lHandle);
  533. pascal long LLastClick(ListHandle lHandle);        /* really returns Cell, see note at top of this file */
  534. pascal ListHandle LNew(Rect *rView, Rect *dataBounds, Point cSize, short theProc, WindowPtr theWindow, Boolean drawIt, Boolean hasGrow, Boolean scrollHoriz, Boolean scrollVert);
  535. pascal Boolean LNextCell(Boolean hNext, Boolean vNext, Cell *theCell, ListHandle lHandle);
  536. pascal void LRect(Rect *cellRect, Cell theCell, ListHandle lHandle);
  537. pascal void LScroll(short dCols, short dRows, ListHandle lHandle);
  538. pascal Boolean LSearch(void * dataPtr, short dataLen, short(*searchProc)(), Cell *theCell, ListHandle lHandle);
  539. pascal void LSetCell(void * data, short dataLen, Cell theCell, ListHandle lHandle);
  540. pascal void LSetSelect(Boolean setIt, Cell theCell, ListHandle lHandle);
  541. pascal void LSize(short listWidth, short listHeight, ListHandle lHandle);
  542. pascal void LUpdate(RgnHandle thRgn, ListHandle lHandle);
  543. #endif    /*_ListMgr_*/
  544.  
  545. #ifdef _MemoryMgr_    /* Memory Manager [MM] */
  546. pascal THz ApplicZone(void);
  547. pascal void BlockMove(void * sourcePtr, void * destPtr, Size byteCount);
  548. pascal Size CompactMem(Size cbNeeded);
  549. pascal void DisposHandle(Handle h);
  550. pascal void DisposPtr(void * p);
  551. pascal void EmptyHandle(Handle h);
  552. pascal long FreeMem(void);
  553. pascal Handle GZSaveHnd(void);
  554. pascal Ptr GetApplLimit(void);
  555. pascal Size GetHandleSize(Handle h);
  556. pascal Size GetPtrSize(void * p);
  557. pascal THz GetZone(void);
  558. pascal void HClrRBit(Handle h);
  559. pascal SignedByte HGetState(Handle h);
  560. pascal void HLock(Handle h);
  561. pascal void HNoPurge(Handle h);
  562. pascal void HPurge(Handle h);
  563. pascal void HSetRBit(Handle h);
  564. pascal void HSetState(Handle h, SignedByte flags);
  565. pascal void HUnlock(Handle h);
  566. pascal THz HandleZone(Handle h);
  567. pascal void InitApplZone(void);
  568. pascal void InitZone(ProcPtr pGrowZone, short cMoreMstrs, void * limitPtr, void * startPtr);
  569. pascal void MaxApplZone(void);
  570. pascal long MaxBlock(void);
  571. pascal Size MaxMem(Size *grow);
  572. pascal OSErr MemError(void);
  573. pascal void MoreMasters(void);
  574. pascal void MoveHHi(Handle h);
  575. pascal Handle NewEmptyHandle(void);
  576. pascal Handle NewHandle(Size logicalSize);
  577. pascal Handle NewHandleSys(Size byteCount); 
  578. pascal Handle NewHandleClear(Size byteCount); 
  579. pascal Handle NewHandleSysClear(Size byteCount);
  580. pascal Ptr NewPtr(Size logicalSize);
  581. pascal Ptr NewPtrSys(Size byteCount); 
  582. pascal Ptr NewPtrClear(Size byteCount); 
  583. pascal Ptr NewPtrSysClear(Size byteCount); 
  584. pascal THz PtrZone(void * p);
  585. pascal void PurgeMem(Size cbNeeded);
  586. pascal void PurgeSpace(long *total, long *contig);
  587. pascal void ReallocHandle(Handle h, Size logicalSize);
  588. pascal Handle RecoverHandle(void * p);
  589. pascal void ResrvMem(Size cbNeeded);
  590. pascal void SetApplBase(void * startPtr);
  591. pascal void SetApplLimit(void * zoneLimit);
  592. pascal void SetGrowZone(ProcPtr growZone);
  593. pascal void SetHandleSize(Handle h, Size newSize);
  594. pascal void SetPtrSize(void * p, Size newSize);
  595. pascal void SetZone(THz hz);
  596. pascal long StackSpace(void);
  597. pascal THz SystemZone(void);
  598. pascal Ptr TopMem(void);
  599. #endif    /*_MemoryMgr_*/
  600.  
  601. #ifdef _MenuMgr_    /* Menu Manager [MN] */
  602. pascal void AddResMenu(MenuHandle theMenu, ResType theType);
  603. pascal void AppendMenu(MenuHandle theMenu, void *data);
  604. pascal void CalcMenuSize(MenuHandle theMenu);
  605. pascal void CheckItem(MenuHandle theMenu, short item, Boolean checked);
  606. pascal void ClearMenuBar(void);
  607. pascal short CountMItems(MenuHandle theMenu);
  608. pascal void DelMCEntries(short menuID, short MenuItem);
  609. pascal void DelMenuItem(MenuHandle theMenu, short item);
  610. pascal void DeleteMenu(short menuID);
  611. pascal void DisableItem(MenuHandle theMenu, short item);
  612. pascal void DispMCInfo(MCTableHandle menuCTbl);
  613. pascal void DisposeMenu(MenuHandle theMenu);
  614. pascal void DrawMenuBar(void);
  615. pascal void EnableItem(MenuHandle theMenu, short item);
  616. pascal void FlashMenuBar(short menuID);
  617. pascal void GetItem(MenuHandle theMenu, short item, void *itemString);
  618. pascal void GetItemCmd(MenuHandle theMenu, short item, short *cmdChar);
  619. pascal void GetItemIcon(MenuHandle theMenu, short item, short *icon);
  620. pascal void GetItemMark(MenuHandle theMenu, short item, short *markChar);
  621. pascal void GetItemStyle(MenuHandle theMenu, short item, short *chStyle);
  622. pascal MCEntryPtr GetMCEntry(short menuID, short menuItem);
  623. pascal MCTableHandle GetMCInfo(void);
  624. pascal MenuHandle GetMHandle(short menuID);
  625. pascal MenuHandle GetMenu(short resourceID);
  626. pascal Handle GetMenuBar(void);
  627. pascal Handle GetNewMBar(short menuBarID);
  628. pascal void HiliteMenu(short menuID);
  629. pascal void InitMenus(void);
  630. pascal void InitProcMenu(short mbResID);
  631. pascal void InsMenuItem(MenuHandle theMenu, void *, short afterItem);
  632. pascal void InsertMenu(MenuHandle theMenu, short beforeID);
  633. pascal void InsertResMenu(MenuHandle theMenu, ResType theType, short afterItem);
  634. pascal long MenuChoice(void);
  635. pascal long MenuKey(short ch);
  636. pascal long MenuSelect(Point startPt);
  637. pascal MenuHandle NewMenu(short menuID, void *title);
  638. pascal long PopUpMenuSelect(MenuHandle theMenu, short Top, short Left, short PopupItem);
  639. pascal void SetItem(MenuHandle theMenu, short item, void *itemString);
  640. pascal void SetItemCmd(MenuHandle theMenu, short item, short cmdChar);
  641. pascal void SetItemIcon(MenuHandle theMenu, short item, short icon);
  642. pascal void SetItemMark(MenuHandle theMenu, short item, short markChar);
  643. pascal void SetItemStyle(MenuHandle theMenu, short item, short chStyle);
  644. pascal void SetMCEntries(short numEntries, MCTablePtr menuCEntries);
  645. pascal void SetMCInfo(MCTableHandle menuCTbl);
  646. pascal void SetMenuBar(Handle menuList);
  647. pascal void SetMenuFlash(short count);
  648. #endif    /*_MenuMgr_*/
  649.  
  650. #ifdef _OSUtil_    /* OS Utilities [OU] */
  651. pascal void Date2Secs(DateTimeRec *date, long *secs);
  652. pascal OSErr Dequeue(QElemPtr qEntry, QHdrPtr theQueue);
  653. pascal void Delay(long numTicks, long *finalTicks);
  654. pascal OSErr DTInstall(QElemPtr dtTaskPtr);
  655. pascal void Enqueue(QElemPtr qEntry, QHdrPtr theQueue);
  656. pascal void Environs(short *rom, short *machine);
  657. pascal Boolean EqualString(void *aStr, void *bStr, Boolean caseSens, Boolean diacSens);
  658. pascal void GetDateTime(long *secs);
  659. pascal Byte GetMMUMode(void);            /* Inside Mac Volume V page 592 is wrong */ 
  660. pascal SysPPtr GetSysPPtr(void);
  661. pascal void GetTime(DateTimeRec *date);
  662. pascal long GetTrapAddress(short trapNum);
  663. pascal OSErr HandAndHand(Handle aHandle, Handle bHandle);
  664. pascal OSErr HandToHand(Handle *h);
  665. pascal OSErr InitUtil(void);
  666. pascal long NGetTrapAddress(short trapNum, Byte tType);
  667. pascal void NSetTrapAddress(long trapAddr, short trapNum, Byte tType);
  668. pascal OSErr PtrAndHand(void *, Handle, long size);
  669. pascal OSErr PtrToHand(void * srcPtr, Handle *dstHandle, long size);
  670. pascal OSErr PtrToXHand(void * srcPtr, Handle dstHandle, long size);
  671. pascal OSErr ReadDateTime(long *secs);
  672. pascal short RelString(void *aStr, void *bStr, Boolean caseSens, Boolean diacSens);
  673. pascal void Restart(void);
  674. pascal void Secs2Date(long secs, DateTimeRec *date);
  675. pascal OSErr SetDateTime(long secs);
  676. pascal void SetTime(DateTimeRec *date);
  677. pascal void SetTrapAddress(long trapAddr, short trapNum);
  678. pascal long StripAddress(long theAdress);
  679. pascal void SwapMMUMode(char *mode);
  680. pascal OSErr SysEnvirons(short versRequested, SysEnvRec *theWorld);
  681. pascal void SysBeep(short duration);
  682. pascal void UprString(void *theString, Boolean diacSens);
  683. pascal Boolean WaitNextEvent(short mask, EventRecord *event, long sleep, RgnHandle mouseRgn);
  684. pascal OSErr WriteParam(void);
  685. #endif    /*_OSUtil_*/
  686.  
  687.  
  688. #ifdef _PackageMgr_ /* Package Manager [PK] *//* also contains Disk Initialization Package */
  689. pascal short DIBadMount(Point where, long evtMessage);
  690. pascal OSErr DIFormat(short drvNum);
  691. pascal void DILoad(void);
  692. pascal void DIUnload(void);
  693. pascal OSErr DIVerify(short drvNum);
  694. pascal OSErr DIZero(short drvNum, void *volName);
  695. pascal void InitAllPacks(void);
  696. pascal void InitPack(short packID);
  697. pascal void NumToString(long theNum, void *theString);
  698. pascal void StringToNum(void *theString, long *theNum);
  699. #endif    /*_PackageMgr_*/
  700.  
  701. #ifdef _IntlPkg_    /* International Package [IP] */
  702. pascal short IUCompString(void *aStr, void *bStr);
  703. pascal void IUDatePString(long dateTime, DateForm form, void *result, Handle intlParam);
  704. pascal void IUDateString(long dateTime, DateForm form, void *result);
  705. pascal short IUEqualString(void *aStr, void *bStr);
  706. pascal Handle IUGetIntl(short theID);
  707. pascal short IUMagIDString(void * aPtr, void * bPtr, short aLen, short bLen);
  708. pascal short IUMagString(void * aPtr, void * bPtr, short aLen, short bLen);
  709. pascal Boolean IUMetric(void);
  710. pascal void IUSetIntl(short refNum, short theID, Handle intlParam);
  711. pascal void IUTimePString(long dateTime, Boolean wantSeconds, void *result, Handle intlParam);
  712. pascal void IUTimeString(long dateTime, Boolean wantSeconds, void *result);
  713. #endif    /*_IntlPkg_*/
  714.  
  715. #ifdef _StdFilePkg_    /* Standard File Package [STP] */
  716. pascal void SFGetFile(Point where, char *prompt,  ProcPtr fileFilter, short numTypes, SFTypeList typeList, ProcPtr dlgHook, SFReply *reply);
  717. pascal void SFPGetFile(Point where, void *prompt, ProcPtr fileFilter, short numTypes, SFTypeList *typeList, ProcPtr dlgHook, SFReply *reply, short dlgID, ProcPtr filterProc);
  718. pascal void SFPPutFile(Point where, void *prompt, void *origName, ProcPtr dlgHook, SFReply *reply, short dlgID, ProcPtr filterProc);
  719. pascal void SFPutFile(Point where, void *prompt, void *origName, ProcPtr dlgHook, SFReply *reply);
  720. #endif    /*_StdFilePkg_*/
  721.  
  722. #ifdef _Color_ /* Palette Manager */
  723. pascal void ActivatePalette(WindowPtr srcWindow);
  724. pascal void AnimateEntry(WindowPtr dstWindow, short dstEntry, RGBColor *srcRGB);
  725. pascal void AnimatePalette(WindowPtr dstWindow, CTabHandle srcCTab, short srcIndex, short dstEntry,short dstLength);
  726. pascal void CTab2Palette(CTabHandle srcCTab, PaletteHandle dstPalette, short srcUsage, short srcTolerance);
  727. pascal void DisposePalette(PaletteHandle srcPalette);
  728. pascal void GetEntryColor(PaletteHandle srcPalette, short srcEntry, RGBColor *dstRGB);
  729. pascal void GetEntryUsage(PaletteHandle srcPalette, short srcEntry, short *dstUsage, short *dstTolerance);
  730. pascal PaletteHandle GetNewPalette(short paletteID);
  731. pascal PaletteHandle GetPalette(WindowPtr srcWindow);
  732. pascal void InitPalettes(void);
  733. pascal PaletteHandle NewPalette(short entries, CTabHandle srcColors, short srcUsage, short srcTolerance);
  734. pascal void Palette2CTab(PaletteHandle srcPalette, CTabHandle dstCTab);
  735. pascal void PmBackColor(short myEntry);
  736. pascal void PmForeColor(short myEntry);
  737. pascal void SetEntryColor(PaletteHandle dstPalette, short dstEntry, RGBColor *srcRGB);
  738. pascal void SetEntryUsage(PaletteHandle dstPalette, short dstEntry, short srcUsage, short srcTolerance);
  739. pascal void SetPalette(WindowPtr dstWindow, PaletteHandle srcPalette, Boolean cUpdates);
  740. #endif    /*_Color_*/
  741.  
  742. #ifdef _PrintMgr_    /* Print Manager [PR] */
  743. pascal void PrClose(void);
  744. pascal void PrCloseDoc(TPPrPort pPrPort);
  745. pascal void PrClosePage(TPPrPort pPrPort);
  746. pascal void PrCtlCall(short iWhichCtl, long lparm1, long lparm2, long lparm3);
  747. pascal void PrDrvrClose(void);
  748. pascal Handle PrDrvrDCE(void);
  749. pascal void PrDrvrOpen(void);
  750. pascal short PrDrvrVers(void);
  751. pascal short PrError(void);
  752. pascal void PrGeneral(void * pData);
  753. pascal Boolean PrJobDialog(THPrint hPrint);
  754. pascal void PrJobMerge(THPrint hPrintSrc, THPrint hPrintDst);
  755. pascal void PrOpen(void);
  756. pascal TPPrPort PrOpenDoc(THPrint hPrint, TPPrPort pPrPort, void * pIOBuf);
  757. pascal void PrOpenPage(TPPrPort pPrPort, TPRect pPageFrame);
  758. pascal void PrPicFile(THPrint hPrint, TPPrPort pPrPort, void * pIOBuf, void * pDevBuf, TPrStatus *prStatus);
  759. pascal void PrSetError(short iErr);
  760. pascal Boolean PrStlDialog(THPrint hPrint);
  761. pascal Boolean PrValidate(THPrint hPrint);
  762. pascal void PrintDefault(THPrint hPrint);
  763. #endif    /*_PrintMgr_*/
  764.  
  765. #ifdef _Quickdraw_    /* QuickDraw [QD] */
  766. pascal void AddPt(Point srcPt, Point *dstPt);
  767. pascal void BackColor(long color);
  768. pascal void BackPat(Pattern pat);
  769. pascal void CalcMask(void * srcPtr, void * dstPtr, short srcRow, short dstRow, short height, short words);
  770. pascal short CharWidth(short ch);
  771. pascal void ClipRect(Rect *r);
  772. pascal void ClosePicture(void);
  773. pascal void ClosePoly(void);
  774. pascal void ClosePort(GrafPtr port);
  775. pascal void CloseRgn(RgnHandle dstRgn);
  776. pascal void ColorBit(short whichBit);
  777. pascal void CopyBits(BitMap *srcBits, BitMap *dstBits, Rect *srcRect, Rect *dstRect, short mode, RgnHandle maskRgn);
  778. pascal void CopyMask(BitMap *srcBits, BitMap *maskBits, BitMap *dstBits, Rect *srcRect, Rect *maskRect, Rect *dstRect);
  779. pascal void CopyRgn(RgnHandle srcRgn, RgnHandle dstRgn);
  780. pascal void DiffRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  781. pascal void DisposeRgn(RgnHandle rgn);
  782. pascal void DrawChar(short ch);
  783. pascal void DrawPicture(PicHandle myPicture, Rect *dstRect);
  784. pascal void DrawString(void *s);
  785. pascal void DrawText(void * textBuf, short firstByte, short byteCount);
  786. pascal Boolean EmptyRect(Rect *r);
  787. pascal Boolean EmptyRgn(RgnHandle rgn);
  788. pascal Boolean EqualPt(Point pt1, Point pt2);
  789. pascal Boolean EqualRect(Rect *Rect1, Rect *Rect2);
  790. pascal Boolean EqualRgn(RgnHandle rgnA, RgnHandle rgnB);
  791. pascal void EraseArc(Rect *r, short startAngle, short arcAngle);
  792. pascal void EraseOval(Rect *r);
  793. pascal void ErasePoly(PolyHandle poly);
  794. pascal void EraseRect(Rect *r);
  795. pascal void EraseRgn(RgnHandle rgn);
  796. pascal void EraseRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  797. pascal void FillArc(Rect *r, short startAngle, short arcAngle, Pattern pat);
  798. pascal void FillOval(Rect *r, Pattern pat);
  799. pascal void FillPoly(PolyHandle, Pattern pat);
  800. pascal void FillRect(Rect *r, Pattern pat);
  801. pascal void FillRgn(RgnHandle rgn, Pattern pat);
  802. pascal void FillRoundRect(Rect *r, short ovalWidth, short ovalHeight, Pattern pat);
  803. pascal void ForeColor(long color);
  804. pascal void FrameArc(Rect *r, short startAngle, short arcAngle);
  805. pascal void FrameOval(Rect *r);
  806. pascal void FramePoly(PolyHandle poly);
  807. pascal void FrameRect(Rect *r);
  808. pascal void FrameRgn(RgnHandle rgn);
  809. pascal void FrameRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  810. pascal void GetClip(RgnHandle rgn);
  811. pascal void GetFontInfo(FontInfo *info);
  812. pascal void GetPen(Point *p);
  813. pascal void GetPenState(PenState *pnState);
  814. pascal Boolean GetPixel(short h, short v);
  815. pascal void GetPort(GrafPtr *port);
  816. pascal void GlobalToLocal(Point *p);
  817. pascal void GrafDevice(short device);
  818. pascal void HideCursor(void);
  819. pascal void HidePen(void);
  820. pascal void InitCursor(void);
  821. pascal void InitGraf(GrafPtr *GlobalPtr);        /*parameter should be &thePort*/
  822. pascal void InitPort(GrafPtr thePort);
  823. pascal void InsetRect(Rect *r, short dh, short dv);
  824. pascal void InsetRgn(RgnHandle rgn, short dh, short dv);
  825. pascal void InvertArc(Rect *r, short startAngle, short arcAngle);
  826. pascal void InvertOval(Rect *r);
  827. pascal void InvertPoly(PolyHandle poly);
  828. pascal void InvertRect(Rect *r);
  829. pascal void InvertRgn(RgnHandle rgn);
  830. pascal void InvertRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  831. pascal void KillPicture(PicHandle myPicture);
  832. pascal void KillPoly(PolyHandle poly);
  833. pascal void Line(short dh, short dv);
  834. pascal void LineTo(short h, short v);
  835. pascal void LocalToGlobal(Point *p);
  836. pascal void MapPoly(PolyHandle poly, Rect *srcRect, Rect *dstRect);
  837. pascal void MapPt(Point *p, Rect *srcRect, Rect *dstRect);
  838. pascal void MapRect(Rect *r, Rect *srcRect, Rect *dstRect);
  839. pascal void MapRgn(RgnHandle rgn, Rect *srcRect, Rect *dstRect);
  840. pascal void MeasureText(short count, void * textAddr, void * charLocs);
  841. pascal void Move(short dh, short dv);
  842. pascal void MovePortTo(short leftGlobal, short topGlobal);
  843. pascal void MoveTo(short h, short v);
  844. pascal RgnHandle NewRgn(void);
  845. pascal void ObscureCursor(void);
  846. pascal void OffsetPoly(PolyHandle poly, short dh, short dv);
  847. pascal void OffsetRect(Rect *r, short dh, short dv);
  848. pascal void OffsetRgn(RgnHandle rgn, short dh, short dv);
  849. pascal PolyHandle OpenPoly(void);
  850. pascal void OpenPort(GrafPtr port);
  851. pascal void OpenRgn(void);
  852. pascal void PaintArc(Rect *r, short startAngle, short arcAngle);
  853. pascal void PaintOval(Rect *r);
  854. pascal void PaintPoly(PolyHandle poly);
  855. pascal void PaintRect(Rect *r);
  856. pascal void PaintRgn(RgnHandle rgn);
  857. pascal void PaintRoundRect(Rect *r, short ovalWidth, short ovalHeight);
  858. pascal void PenMode(short mode);
  859. pascal void PenNormal(void);
  860. pascal void PenPat(Pattern pat);
  861. pascal void PenSize(short width, short height);
  862. pascal void PicComment(short kind, short datasize, Handle dataHandle);
  863. pascal void PortSize(short width, short height);
  864. pascal void Pt2Rect(Point pt1, Point pt2, Rect *dstRect);
  865. pascal Boolean PtInRect(Point pt, Rect *r);
  866. pascal Boolean PtInRgn(Point pt, RgnHandle rgn);
  867. pascal void PtToAngle(Rect *r, Point pt, short *angle);
  868. pascal short Random(void);
  869. pascal Boolean RectInRgn(Rect *r, RgnHandle rgn);
  870. pascal void RectRgn(RgnHandle rgn, Rect *r);
  871. pascal void ScalePt(Point *p, Rect *srcRect, Rect *dstRect);
  872. pascal void ScrollRect(Rect *r, short dh, short dv, RgnHandle updateRgn);
  873. pascal Boolean SectRect(Rect *src1, Rect *src2, Rect *dstRect);
  874. pascal void SectRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  875. pascal void SeedFill(void * srcPtr, void * dstPtr, short srcRow, short dstRow, short height, short words, short seedH, short seedV);
  876. pascal void SetClip(RgnHandle rgn);
  877. pascal void SetCursor(Cursor *c);
  878. pascal void SetEmptyRgn(RgnHandle rgn);
  879. pascal void SetOrigin(short h, short v);
  880. pascal void SetPenState(PenState *pnState);
  881. pascal void SetPort(GrafPtr port);
  882. pascal void SetPortBits(BitMap *bm);
  883. pascal void SetPt(Point *p, short h, short v);
  884. pascal void SetRect(Rect *r, short left, short top, short right, short bottom);
  885. pascal void SetRectRgn(RgnHandle rgn, short left, short top, short right, short bottom);
  886. pascal void SetStdProcs(QDProcs *procs);
  887. pascal void ShowCursor(void);
  888. pascal void ShowPen(void);
  889. pascal void SpaceExtra(Fixed extra);
  890. pascal void StdArc(GrafVerb verb, Rect *r, short startAngle, short arcAngle);
  891. pascal void StdBits(BitMap *srcBits, Rect *srcRect, Rect *dstRect, short mode, RgnHandle maskRgn);
  892. pascal void StdComment(short kind, short dataSize, Handle dataHandle);
  893. pascal void StdGetPic(void * dataPtr, short byteCount);
  894. pascal void StdLine(Point newPt);
  895. pascal void StdOval(GrafVerb verb, Rect *r);
  896. pascal void StdPoly(GrafVerb verb, PolyHandle poly);
  897. pascal void StdPutPic(void * dataPtr, short byteCount);
  898. pascal void StdRRect(GrafVerb verb, Rect *r, short ovalwidth, short ovalheight);
  899. pascal void StdRect(GrafVerb verb, Rect *r);
  900. pascal void StdRgn(GrafVerb verb, RgnHandle rgn);
  901. pascal void StdText(short byteCount, void * textBuf, Point numer, Point denom);
  902. pascal short StdTxMeas(short byteCount, void * textAddr, Point *numer, Point *denom, FontInfo *info);
  903. pascal short StringWidth(void *s);
  904. pascal void StuffHex(void * thingPtr, void *s);
  905. pascal void SubPt(Point srcPt, Point *dstPT);
  906. pascal void TextFace(short face);
  907. pascal void TextFont(short font);
  908. pascal void TextMode(short mode);
  909. pascal void TextSize(short size);
  910. pascal short TextWidth(void * textBuf, short firstByte, short byteCount);
  911. pascal void UnionRect(Rect *src1, Rect *src2, Rect *dstRect);
  912. pascal void UnionRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  913. pascal void XorRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn);
  914. #endif    /*_Quickdraw_*/
  915.  
  916. #ifdef _ResourceMgr_    /* Resource Manager [RM] */
  917. pascal void AddReference(Handle theResource, short theID, void *name);
  918. pascal void AddResource(Handle theData, ResType theType, short theID, void *name);
  919. pascal void ChangedResource(Handle theResource);
  920. pascal void CloseResFile(short refNum);
  921. pascal short Count1Resources(ResType theType);
  922. pascal short Count1Types(void);
  923. pascal short CountResources(ResType theType);
  924. pascal short CountTypes(void);
  925. pascal void CreateResFile(void *fileName);
  926. pascal short CurResFile(void);
  927. pascal void DetachResource(Handle theResource);
  928. pascal Handle Get1IndResource(ResType theType, short index);
  929. pascal void Get1IndType(ResType *theType, short index);
  930. pascal Handle Get1NamedResource(ResType theType, void *name);
  931. pascal Handle Get1Resource(ResType theType, short theID);
  932. pascal Handle GetIndResource(ResType theType, short index);
  933. pascal void GetIndType(ResType *theType, short index);
  934. pascal Handle GetNamedResource(ResType theType, void *name);
  935. pascal short GetResAttrs(Handle theResource);
  936. pascal short GetResFileAttrs(short refNum);
  937. pascal void GetResInfo(Handle theResource, short *theID, ResType *theType, void *name);
  938. pascal Handle GetResource(ResType, short theID);
  939. pascal short HomeResFile(Handle theResource);
  940. pascal short InitResources(void);
  941. pascal void LoadResource(Handle theResource);
  942. pascal long MaxSizeRsrc(Handle);
  943. pascal short OpenRFPerm(void *fileName, short vRefNum, Byte permission);
  944. pascal short OpenResFile(void *fileName);
  945. pascal Handle RGetResource(ResType theType, short theID);
  946. pascal void ReleaseResource(Handle theResource);
  947. pascal short ResError(void);
  948. pascal void RmveResource(Handle theResource);
  949. pascal long RsrcMapEntry(Handle);
  950. pascal void RsrcZoneInit(void);
  951. pascal void SetResAttrs(Handle theResource, short attrs);
  952. pascal void SetResFileAttrs(short refNum, short attrs);
  953. pascal void SetResInfo(Handle theResource, short theID, void *name);
  954. pascal void SetResLoad(Boolean load);
  955. pascal void SetResPurge(Boolean install);
  956. pascal long SizeResource(Handle theResource);
  957. pascal short Unique1ID(ResType theType);
  958. pascal short UniqueID(ResType theType);
  959. pascal void UpdateResFile(short refNum);
  960. pascal void UseResFile(short refNum);
  961. pascal void WriteResource(Handle theResource);
  962. #endif    /*_ResourceMgr_*/
  963.  
  964. #ifdef _ScrapMgr_    /* Scrap Manager [SM] */
  965. pascal long GetScrap(Handle hDest, ResType, long *offset);
  966. pascal PScrapStuff InfoScrap(void);
  967. pascal long LoadScrap(void);
  968. pascal long PutScrap(long length, ResType, void * source);
  969. pascal long UnloadScrap(void);
  970. pascal long ZeroScrap(void);
  971. #endif    /*_ScrapMgr_*/
  972.  
  973. #ifdef _ScriptMgr_    /* Script Manager [SM] */
  974. pascal short Char2Pixel(Ptr textBuf, short textLen, short slop, short offset, short direction);
  975. pascal short CharByte(Ptr textBuf, short textOffset);
  976. pascal short CharType(Ptr textBuf, short textOffset);
  977. pascal void DrawJust(Ptr textPtr, short textLength, short slop);
  978. pascal void FindWord(Ptr textPtr, short textLength, short offset, Boolean leftSide, BreakTable *breaks, OffsetTable offsets);
  979. pascal short Font2Script(short fontNumber);
  980. pascal short FontScript(void);
  981. pascal short GetAppFont(void);
  982. pascal short GetDefFontSize(void);
  983. pascal long GetEnvirons(short verb);
  984. pascal short GetMBarHeight(void);
  985. pascal long GetScript(short script, short verb);
  986. pascal short GetSysFont(void);
  987. pascal short GetSysJust(void);
  988. pascal void HiliteText(Ptr textPtr, short textLength, short firstOffset, short secondOffset, OffsetTable offsets);
  989. pascal short IntlScript(void);
  990. pascal void KeyScript(short scriptCode);
  991. pascal void MeasureJust(Ptr textPtr, short textLength, short slop, Ptr charLocs);
  992. pascal short Pixel2Char(Ptr textBuf, short textLen, short slop, short pixelWidth, Boolean *leftSide);
  993. pascal OSErr SetEnvirons(short verb, long param);
  994. pascal OSErr SetScript(short script, short verb, long param);
  995. pascal void SetSysJust(short newJust);
  996. pascal short Transliterate(Handle srcHandle, Handle dstHandle, short target, long srcMask);
  997. #endif    /*_ScriptMgr_*/
  998.  
  999. #ifdef _SCSIMgr_    /* SCSI Manager [SCSI] */
  1000. pascal OSErr SCSICmd(void * buffer, short count);
  1001. pascal OSErr SCSIComplete(short *stat, short *message, long wait);
  1002. pascal OSErr SCSIGet(void);
  1003. pascal OSErr SCSIMsgIn(short *message);
  1004. pascal OSErr SCSIMsgOut(short message);
  1005. pascal OSErr SCSIRBlind(void * tibPtr);
  1006. pascal OSErr SCSIRead(void * tibPtr);
  1007. pascal OSErr SCSIReset(void);
  1008. pascal OSErr SCSISelAtn(short targetID);
  1009. pascal OSErr SCSISelect(short targetID);
  1010. pascal short SCSIStat(void);
  1011. pascal OSErr SCSIWBlind(void * tibPtr);
  1012. pascal OSErr SCSIWrite(void * tibPtr);
  1013. #endif    /*_SCSIMgr_*/
  1014.  
  1015. #ifdef _SegmentLdr_    /* Segment Loader [SL] */
  1016. pascal void ClrAppFiles(short index);
  1017. pascal void CountAppFiles(short *message, short *count);
  1018. pascal void ExitToShell(void);
  1019. pascal void GetAppFiles(short index, AppFile *theFile);
  1020. pascal void GetAppParms(void *apName, short *apRefNum, Handle *apParam);
  1021. pascal void UnloadSeg(ProcPtr routineAddr);
  1022. #endif    /*_SegmentLdr_*/
  1023.  
  1024. #ifdef _SerialDvr_    /* Serial Driver [SR] */
  1025. pascal void RAMSDClose(SPortSel whichPort);
  1026. pascal OSErr RAMSDOpen(SPortSel whichPort);
  1027. pascal OSErr SerClrBrk(short refNum);
  1028. pascal OSErr SerGetBuf(short refNum, long *count);
  1029. pascal OSErr SerHShake(short refNum, SerShk *flags);
  1030. pascal OSErr SerReset(short refNum, short serConfig);
  1031. pascal OSErr SerSetBrk(short refNum);
  1032. pascal OSErr SerSetBuf(short refNum, void * serBPtr, short serBLen);
  1033. pascal OSErr SerStatus(short refNum, SerStaRec *serSta);
  1034. #endif    /*_SerialDvr_*/
  1035.  
  1036. #ifdef _OSUtil_    /* Operating System Utilities [OSU] */
  1037. pascal void ShutDwnInstall(ProcPtr shutDwnProc, short flags);
  1038. pascal void ShutDwnPower(void);
  1039. pascal void ShutDwnRemove(ProcPtr shutDwnProc);
  1040. pascal void ShutDwnStart(void);
  1041. #endif    /*_OSUtil_*/
  1042.  
  1043. #ifdef _SlotMgr_    /* Slot Manager [SM] */
  1044. pascal OSErr InitPRAMRecs(SpBlockPtr spBlkPtr);
  1045. pascal OSErr InitSDeclMgr(SpBlockPtr spBlkPtr);
  1046. pascal OSErr InitsRsrcTable(SpBlockPtr spBlkPtr);
  1047. pascal OSErr SCalcsPointer(SpBlockPtr spBlkPtr);
  1048. pascal OSErr SCalcStep(SpBlockPtr spBlkPtr);
  1049. pascal OSErr SCardChanged(SpBlockPtr spBlkPtr);
  1050. pascal OSErr SCkCardStatus(SpBlockPtr spBlkPtr);
  1051. pascal OSErr SDeleteSRTRec(SpBlockPtr spBlkPtr);
  1052. pascal OSErr SExec(SpBlockPtr spBlkPtr);
  1053. pascal OSErr SFindDevBase(SpBlockPtr spBlkPtr);
  1054. pascal OSErr SFindsRsrcPtr(SpBlockPtr spBlkPtr);
  1055. pascal OSErr SFindsInfoRecPtr(SpBlockPtr spBlkPtr);
  1056. pascal OSErr SFindStruct(SpBlockPtr spBlkPtr);
  1057. pascal OSErr SGetBlock(SpBlockPtr spBlkPtr);
  1058. pascal OSErr SGetDriver(SpBlockPtr spBlkPtr);
  1059. pascal OSErr SGetcString(SpBlockPtr spBlkPtr);
  1060. pascal OSErr SNextTypesRsrc(SpBlockPtr spBlkPtr);
  1061. pascal OSErr SNextsRsrc(SpBlockPtr spBlkPtr);
  1062. pascal OSErr SOffsetData(SpBlockPtr spBlkPtr);
  1063. pascal OSErr SPrimaryInit(SpBlockPtr spBlkPtr);
  1064. pascal OSErr SPtrToSlot(SpBlockPtr spBlkPtr);
  1065. pascal OSErr SPutPRAMRec(SpBlockPtr spBlkPtr);
  1066. pascal OSErr SReadByte(SpBlockPtr spBlkPtr);
  1067. pascal OSErr SReadDrvrName(SpBlockPtr spBlkPtr);
  1068. pascal OSErr SReadFHeader(SpBlockPtr spBlkPtr);
  1069. pascal OSErr SReadInfo(SpBlockPtr spBlkPtr);
  1070. pascal OSErr SReadLong(SpBlockPtr spBlkPtr);
  1071. pascal OSErr SReadPBSize(SpBlockPtr spBlkPtr);
  1072. pascal OSErr SReadPRAMRec(SpBlockPtr spBlkPtr);
  1073. pascal OSErr SReadStruct(SpBlockPtr spBlkPtr);
  1074. pascal OSErr SReadWord(SpBlockPtr spBlkPtr);
  1075. pascal OSErr SRsrcInfo(SpBlockPtr spBlkPtr);
  1076. pascal OSErr SSearchSRT(SpBlockPtr spBlkPtr);
  1077. pascal OSErr SUpdateSRT(SpBlockPtr spBlkPtr);
  1078. #endif    /*_SlotMgr_*/
  1079.  
  1080. #ifdef _SoundDvr_    /* Sound Driver [SN] */
  1081. pascal void GetSoundVol(short *level);
  1082. pascal void SetSoundVol(short level);
  1083. pascal OSErr SndAddModifier(SndChannelPtr chan, ProcPtr modifier, short id, long init);
  1084. pascal OSErr SndControl(short id, SndCommand *cmd);
  1085. pascal OSErr SndDisposeChannel(SndChannelPtr chan, Boolean quietNow);
  1086. pascal OSErr SndDoCommand(SndChannelPtr chan, SndCommand *cmd, Boolean noWait);
  1087. pascal OSErr SndDoImmediate(SndChannelPtr chan, SndCommand *cmd);
  1088. pascal OSErr SndNewChannel(SndChannelPtr *chan, short synth, long init, ProcPtr userRoutine);
  1089. pascal OSErr SndPlay(SndChannelPtr chan, Handle sndHndl, Boolean async);
  1090. pascal Boolean SoundDone(void);
  1091. pascal void StartSound(void * synthRec, long numBytes, ProcPtr completionRtn);
  1092. pascal void StopSound(void);
  1093. #endif    /*_SoundDvr_*/
  1094.  
  1095. #ifdef _StartMgr_    /* Start Manager [STM] */
  1096. pascal void GetDefaultStartup(DefStartPtr paramBlock);
  1097. pascal void GetOSDefault(DefOSPtr paramBlock);
  1098. pascal void GetTimeout(short *count);
  1099. pascal void GetVideoDefault(DefVideoPtr paramBlock);
  1100. pascal void SetDefaultStartup(DefStartPtr paramBlock);
  1101. pascal void SetOSDefault(DefOSPtr paramBlock);
  1102. pascal void SetTimeout(short count);
  1103. pascal void SetVideoDefault(DefVideoPtr paramBlock);
  1104. #endif    /*_StartMgr_*/
  1105.  
  1106. /* System Error Handler */
  1107. pascal void SysError(short errorCode);
  1108.  
  1109. #ifdef _TextEdit_    /* TextEdit [TE] */
  1110. pascal TEStyleHandle GetStylHandle(TEHandle hTE);
  1111. pascal StScrpHandle GetStylScrap(TEHandle hTE);
  1112. pascal void SetClikLoop(ProcPtr clikProc, TEHandle hTE);
  1113. pascal void SetStylHandle(TEStyleHandle theHandle,TEHandle hTE);
  1114. pascal void SetWordBreak(ProcPtr wBrkProc, TEHandle hTE);
  1115. pascal void TEActivate(TEHandle hTE);
  1116. pascal void TEAutoView(Boolean , TEHandle hTE);
  1117. pascal void TECalText(TEHandle hTE);
  1118. pascal void TEClick(Point pt, Boolean extend, TEHandle hTE);
  1119. pascal Boolean TEContinuousStyle(short *mode, TEStylePtr aStyle, TEHandle hTE);
  1120. pascal void TECopy(TEHandle hTE);
  1121. pascal void TECut(TEHandle hTE);
  1122. pascal void TEDeactivate(TEHandle hTE);
  1123. pascal void TEDelete(TEHandle hTE);
  1124. pascal void TEDispose(TEHandle hTE);
  1125. pascal OSErr TEFromScrap(void);
  1126. pascal long TEGetHeight(long endLine, long startLine, TEHandle hTE);
  1127. pascal short TEGetOffset(Point pt, TEHandle hTE);
  1128. pascal long TEGetPoint(short offset, TEHandle hTE);    /* really returns a Point */
  1129. pascal long TEGetScrapLen(void);
  1130. pascal void TEGetStyle(short offset, TextStyle *theStyle, short *lineHeight,  short *fontAscent, TEHandle hTE);
  1131. pascal CharsHandle TEGetText(TEHandle hTE);
  1132. pascal void TEIdle(TEHandle hTE);
  1133. pascal void TEInit(void);
  1134. pascal void TEInsert(void * text, long length, TEHandle hTE);
  1135. pascal void TEKey(short ch, TEHandle hTE);
  1136. pascal TEHandle TENew(Rect *dstRect, Rect *viewRect);
  1137. pascal void TEPaste(TEHandle hTE);
  1138. pascal void TEPinScroll(short dh, short dv, TEHandle hTE);
  1139. pascal void TEReplaceStyle(short mode, TextStyle *oldStyle, TextStyle *newStyle, Boolean redraw, TEHandle hTE);
  1140. pascal Handle TEScrapHandle(void);
  1141. pascal void TEScroll(short dh, short dv, TEHandle hTE);
  1142. pascal void TESelView(TEHandle hTE);
  1143. pascal void TESetJust(short just, TEHandle hTE);
  1144. pascal void TESetScrapLen(long length);
  1145. pascal void TESetSelect(long selStart, long selEnd, TEHandle hTE);
  1146. pascal void TESetStyle(short mode, TextStyle *newStyle, Boolean redraw, TEHandle hTE);
  1147. pascal void TESetText(void * text, long length, TEHandle hTE);
  1148. pascal void TEStylInsert(void * text, long length, StScrpHandle hST, TEHandle hTE);
  1149. pascal TEHandle TEStylNew(Rect *destRect, Rect *viewRect);
  1150. pascal void TEStylPaste(TEHandle hTE);
  1151. pascal OSErr TEToScrap(void);
  1152. pascal void TEUpdate(Rect *rUpdate, TEHandle hTE);
  1153. pascal void TextBox(void * text, long length, Rect *box, short just);
  1154. #endif    /*_TextEdit_*/
  1155.  
  1156. #ifdef _TimeMgr_    /* Time Manager [TIME] */
  1157. pascal void InsTime(QElemPtr tmTaskPtr);
  1158. pascal void PrimeTime(QElemPtr tmTaskPtr, long count);
  1159. pascal void RmvTime(QElemPtr tmTaskPtr);
  1160. #endif /*_TimeMgr_*/
  1161.  
  1162. #ifdef _ToolboxUtil_    /* ToolBox Utilities [TU] */
  1163. pascal short AngleFromSlope(Fixed slope);
  1164. pascal long BitAnd(long val1, long val2);
  1165. pascal void BitClr(void * bytePtr, long bitNum);
  1166. pascal long BitNot(long val);
  1167. pascal long BitOr(long val1, long val2);
  1168. pascal void BitSet(void * bytePtr, long bitNum);
  1169. pascal long BitShift(long val, short count);
  1170. pascal Boolean BitTst(void * bytePtr, long bitNum);
  1171. pascal long BitXor(long val1, long val2);
  1172. pascal long DeltaPoint(Point ptA, Point PtB);
  1173. pascal Fract Fix2Frac(Fixed x);
  1174. pascal long Fix2Long(Fixed x);
  1175. /* double Fix2X(Fixed x);  ** In ToolboxUtil.h ** */
  1176. pascal Fixed FixATan2(long a, long b);
  1177. pascal Fixed FixDiv(Fixed a, Fixed b);
  1178. pascal Fixed FixMul(Fixed a, Fixed b);
  1179. pascal Fixed FixRatio(short numer, short denom);
  1180. pascal short FixRound(Fixed x);
  1181. pascal Fixed Frac2Fix(Fract x);
  1182. /* double Frac2X(Fract x);  ** In ToolboxUtil.h ** */
  1183. pascal Fract FracCos(Fixed x);
  1184. pascal Fract FracDiv(Fract x, Fract y);
  1185. pascal Fract FracMul(Fract x, Fract y);
  1186. pascal Fract FracSin(Fixed x);
  1187. pascal Fract FracSqrt(Fract y);
  1188. pascal CursHandle GetCursor(short cursorID);
  1189. pascal Handle GetIcon(short iconID);
  1190. pascal void GetIndPattern(PatPtr thePattern, short patListID, short index);
  1191. pascal void GetIndString(void *theString, short strListID, short index);
  1192. pascal PatHandle GetPattern(short patID);
  1193. pascal PicHandle GetPicture(short picID);
  1194. pascal StringHandle GetString(short stringID);
  1195. pascal short HiWord(long x);
  1196. pascal short LoWord(long x);
  1197. pascal Fixed Long2Fix(long x);
  1198. pascal void LongMul(long a, long b, Int64Bit *dest);
  1199. pascal long Munger(Handle, long offset, void * ptr1, long len1, void * ptr2, long len2);
  1200. pascal StringHandle NewString(void *theString);
  1201. pascal void PackBits(Ptr *srcPtr, Ptr *dstPtr, short srcBytes);
  1202. pascal void PlotIcon(Rect *r, Handle theIcon);
  1203. pascal void ScreenRes(short *scrnVRes, short *scrnHres);
  1204. pascal void SetString(StringHandle h, void *theString);
  1205. pascal void ShieldCursor(Rect *shieldRect, Point offsetPt);
  1206. pascal Fixed SlopeFromAngle(short angle);
  1207. pascal void UnpackBits(Ptr *srcPtr, Ptr *dstPtr, short dstBytes);
  1208. pascal Fixed X2Fix(double *x);
  1209. pascal Fract X2Frac(double *x);
  1210. #endif    /*_ToolboxUtil_*/
  1211.  
  1212. #ifdef _VRetraceMgr_    /* Vertical Retrace [VR] */
  1213. pascal OSErr AttachVBL(short theSlot);
  1214. pascal OSErr DoVBLTask(short theSlot);
  1215. pascal QHdrPtr GetVBLQHdr(void);
  1216. pascal OSErr SlotVInstall(QElemPtr vblTaskPtr, short theSlot);
  1217. pascal OSErr SlotVRemove(QElemPtr vblTaskPtr, short theSlot);
  1218. pascal OSErr VInstall(QElemPtr vblTaskPtr);
  1219. pascal OSErr VRemove(QElemPtr vblTaskPtr);
  1220. #endif    /*_VRetraceMgr_*/
  1221.  
  1222. #ifndef _WindowMgr_    /* Window Manager [WM] */
  1223. #include "WindowMgr.h"
  1224. #endif
  1225. #ifndef _ColorToolbox_
  1226. #include "ColorToolbox.h"
  1227. #endif
  1228. #ifndef _ControlMgr_
  1229. #include "ControlMgr.h"
  1230. #endif
  1231.  
  1232. pascal void BeginUpdate(WindowPtr theWindow);
  1233. pascal void BringToFront(WindowPtr theWindow);
  1234. pascal void CalcVis(WindowPeek window);
  1235. pascal void CalcVisBehind(WindowPeek startWindow, RgnHandle clobberedRgn);
  1236. pascal Boolean CheckUpdate(EventRecord *theEvent);
  1237. pascal void ClipAbove(WindowPeek window);
  1238. pascal void CloseWindow(WindowPtr theWindow);
  1239. pascal void DisposeWindow(WindowPtr theWindow);
  1240. pascal long DragGrayRgn(RgnHandle theRgn, Point startPt, Rect *limitRect, Rect *slopRect, short axis, ProcPtr actionProc);
  1241. pascal void DragWindow(WindowPtr theWindow, Point startPt, Rect *boundsRect);
  1242. pascal void DrawGrowIcon(WindowPtr theWindow);
  1243. pascal void DrawNew(WindowPeek window, Boolean update);
  1244. pascal void EndUpdate(WindowPtr theWindow);
  1245. pascal short FindWindow(Point thePt, WindowPtr *whichWind);
  1246. pascal WindowPtr FrontWindow(void);
  1247. pascal Boolean GetAuxWin(WindowPtr theWindow, AuxWinHndl *colors);
  1248. pascal void GetCWMgrPort(CWindowPtr *wport);
  1249. pascal RgnHandle GetGrayRgn(void);
  1250. pascal WindowPtr GetNewCWindow(short WindowID, void * wStorage, CWindowPtr behind);
  1251. pascal WindowPtr GetNewWindow(short windowID, WindowPeek wStorage, WindowPtr behind);
  1252. pascal void GetWMgrPort(GrafPtr *wPort);
  1253. pascal long GetWRefCon(WindowPtr theWindow);
  1254. pascal void GetWTitle(WindowPtr theWindow, void *title);
  1255. pascal short GetWVariant(WindowPtr whichWindow);
  1256. pascal PicHandle GetWindowPic(WindowPtr theWindow);
  1257. pascal long GrowWindow(WindowPtr theWindow, Point startPt, Rect *sizeRect);
  1258. pascal void HideWindow(WindowPtr theWindow);
  1259. pascal void HiliteWindow(WindowPtr theWindow, Boolean fHilite);
  1260. pascal void InitWindows(void);
  1261. pascal void InvalRect(Rect *badRect);
  1262. pascal void InvalRgn(RgnHandle badRgn);
  1263. pascal void MoveWindow(WindowPtr theWindow, short hGlobal, short vGlobal, Boolean front);
  1264. pascal WindowPtr NewCWindow(void * wStorage, Rect *boundsRect, void *title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon);
  1265. pascal WindowPtr NewWindow(WindowPeek wStorage, Rect *boundsRect, char *title, Boolean visible, short procID, WindowPtr behind,  Boolean goAwayFlag, long refCon);
  1266. pascal void PaintBehind(WindowPeek startWindow, RgnHandle clobberedRgn);
  1267. pascal void PaintOne(WindowPeek window, RgnHandle clobberedRgn);
  1268. pascal long PinRect(Rect *theRect, Point thePt);
  1269. pascal void SaveOld(WindowPeek window);
  1270. pascal void SelectWindow(WindowPtr theWindow);
  1271. pascal void SendBehind(WindowPtr theWindow, WindowPtr behindWindow);
  1272. pascal void SetDeskCPat(PixPatHandle deskPixPat);
  1273. pascal void SetWRefCon(WindowPtr theWindow, long data);
  1274. pascal void SetWTitle(WindowPtr theWindow, void *title);
  1275. pascal void SetWinColor(WindowPtr theWindow, CTabHandle newColorTable);
  1276. pascal void SetWindowPic(WindowPtr theWindow, PicHandle pic);
  1277. pascal void ShowHide(WindowPtr theWindow, Boolean showFlag);
  1278. pascal void ShowWindow(WindowPtr theWindow);
  1279. pascal void SizeWindow(WindowPtr theWindow, short w, short h, Boolean fUpdate);
  1280. pascal Boolean TrackBox(WindowPtr theWindow, Point , short partCode);
  1281. pascal Boolean TrackGoAway(WindowPtr theWindow, Point thePt);
  1282. pascal void ValidRect(Rect *goodRect);
  1283. pascal void ValidRgn(RgnHandle goodRgn);
  1284. pascal void ZoomWindow(WindowPtr theWindow, short partCode, Boolean front);
  1285. /*#endif*/    /*_WindowMgr_*/
  1286.  
  1287. #undef ProcPtr
  1288. #endif    /*_MacProtos_*/